package com.springchang.leetcode;

import java.util.*;

/**
 * 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如，输入字符串"abcdefg"和数字2，
 * 该函数将返回左旋转两位得到的结果"cdefgab"。
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 * @author : 张翠山
 */
public class LeftTranseString {

    public String reverseLeftWords(String s, int n) {
        Queue<Character> queue = new LinkedList<>();
        for (int i = 0; i < s.length(); i++) {
            queue.add(s.charAt(i));
        }

        for (int i = 0; i < n; i++) {
            queue.add(queue.remove());
        }

        StringBuilder sb = new StringBuilder();
        for (Character character : queue) {
            sb.append(character);
        }

        return sb.toString();
    }

    public static void main(String[] args) {
        String s = "lrloseumgh";
        int k = 2;
        System.out.println(new LeftTranseString().reverseLeftWords(s, 6));
    }
}
